package org.jwcloud.project.module.zx.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.hibernate.validator.constraints.ParameterScriptAssert;
import org.jwcloud.project.module.zx.db.domain.RtaWorkInfo;
import org.jwcloud.project.module.zx.db.service.repository.RtaWorkInfoRepository;

@Mapper
public interface RtaWorkInfoDAO extends RtaWorkInfoRepository {

	public List<RtaWorkInfo> findByTemplateIdAppPhase(Integer templateId, String appPhase);

	/**
	 * 查询模板下的工作
	 * 
	 * @param templateId
	 * @return
	 */
	public List<RtaWorkInfo> findByTemplateId(Integer templateId);

	/**
	 * 查询模板下的第一个工作
	 * 
	 * @param templateId
	 * @return
	 */
	public List<RtaWorkInfo> findFirstByTemplateId(Integer templateId);

	public List<RtaWorkInfo> findFirstByTemplateIdAll(Integer templateId);

	/**
	 * 查询单前工作的子工作
	 * 
	 * @param templateId
	 * @param workId
	 * @return
	 */
	public List<RtaWorkInfo> findByParentWorkId(Integer templateId, Integer parentWorkId);

	public List<RtaWorkInfo> findByParentWorkIdForAll(Integer templateId, Integer parentWorkId);

	/**
	 * 查询单前工作的父工作
	 * 
	 * @param templateId
	 * @param workId
	 * @return
	 */
	public List<RtaWorkInfo> findParentWorkId(Integer templateId, Integer workId);

	public List<RtaWorkInfo> findParentWorkIdForAll(Integer templateId, Integer workId);
}
